[Java][Spring] EclipseでSpringのJARファイルを作成してバッチ処理を行う。
はじめに
現在、ある目的のアプリケーションを、Springを使用して作っていて、最終的にはJarファイルをターミナルから実行する形を考えています。 そうなるともちろん、JARの作成方法を知らないといけないので調べて試してみました。 また、複数のJARファイルを順に実行する事も必要なので、バッチ処理を行う方法も調べましたので、備忘録として記しておきます。
環境
Mac OSX 10.10.5 Yosemite Java 8 Spring Boot 1.3.7 Eclipse Mars
手順
JARを作成
build.gradleのjarの項目でファイル名を指定。
プロジェクトを右クリックして、「Run As -> Gradle (STS) Build」を選択。
タブ「Gradle Task」に「build」と記述し、「RUN」を押下。
完了すると、フォルダ「build」の中にフォルダとファイルが作成され、「libs」の中にJARファイルが作成されます。
実行確認
ターミナルから実行します。
$ java -jar ディレクトリ名/JARファイル名
こんな画面が表示されてアプリケーションが実行されます。
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.3.7.RELEASE)
Mac用バッチファイルの作成
Windows用バッチファイルは「ファイル名.bat」の様ですが、Mac用は「ファイル名.command」となります。 改行コードはUnix(LF)じゃないとダメらしいのでMacで作成します。
適当なフォルダにvimでファイルを作成し、
$ vim test.command
JARを実行順に追記します。
#!/bin/bash java -jar ディレクトリ名/demo-0.0.1-SNAPSHOT_1.jar java -jar ディレクトリ名/demo-0.0.1-SNAPSHOT_2.jar
このままcommandファイルを実行しようとしても下記の様に権限がないのでエラーが発生します。
$ ls -l -rw-r--r-- 1 ユーザー名 staff 86 8 6 17:38 test.command
権限を追加します。
$ chmod 744 test.command
実行確認
アプリケーションの実行画面が出れば成功です。
$ ディレクトリ名/test.command
さいごに
一つのJARファイルで全ての流れを作るとコードが複雑になりますし、段階を踏んで実行したい場合にはバッチファイルを作成すると便利なんじゃないかと思います。